package com.maowei.event;

import com.alibaba.otter.canal.protocol.CanalEntry;

import java.lang.annotation.*;

/**
 * 表事件 注解
 *
 * @author maowei
 * @date 2021/8/25
 */
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface TableEvent {

    /**
     * 库名 默认为常用的test
     */
    String schemaName() default "test";
    /**
     * 表名
     */
    String tableName();
    /**
     * 事件类型 - 可多选
     */
    CanalEntry.EventType[] eventTypes();
    /**
     * 表注释
     */
    String tableComment() default "";
    /**
     * 关注的列名，默认为空，用于实现默认
     * {@link com.maowei.handler.BaseEventHandler#getBusinessOperateRecordModel(TableEvent, JSONObject)}
     * 方法，重写此方法时可无视本字段
     */
    String[] focusColumns() default {};
}
